#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 4e7+10;

int z[MAXN];
string a,b;
ll ansz,ansp;

void getz(string s){
	int ls = s.size();
	int l = 0;
	for(int i = 1;i < ls;i++){
		if(l + z[l] > i) z[i] = min(z[i-l],l + z[l] - i);
		while(i + z[i] < ls && s[i + z[i]] == s[z[i]]) z[i]++;
		if(i + z[i] > l + z[l]) l = i;
	}
}

int main (){
	ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
	cin >> a >> b;
	getz(b+a);
	for(int i = 1;i < b.size();i++)	ansz ^= (ll)(i+1) * (min(z[i],(int)b.size()-i)+1);
	ansz ^= b.size()+1;
	for(int i = 0;i < a.size();i++) ansp ^= (ll)(i+1) * (min(z[i + b.size()],(int)b.size())+1);
	cout<<ansz<<endl<<ansp<<endl;
	return 0;
}
